#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//class A
//{
//public:
//	A(int a1, int a2)
//		:_a1(a1)
//		, _a2(a2)
//	{
//
//	}
//
//	void Print()
//	{
//		cout << _a1 << " " << _a2 << endl;
//	}
//private:
//	int _a1;
//	int _a2;
//
//};
//
//class B
//{
//public:
//	explicit B(int b1)
//		:_b1(b1)
//	{
//
//	}
//
//	void Print()
//	{
//		cout << _b1 << endl;
//	}
//private:
//	int _b1;
//
//};
//int main()
//{
//	B bb1 = 2;
//	bb1.Print();
//	return 0;
//}

//class A
//{
//public:
//	A()
//	{
//		++_scount;
//	}
//
//	A(const A& t)
//	{
//		++_scount;
//	}
//	
//	~A()
//	{
//		--_scount;
//	}
//
//	static int GetACount()
//	{
//		return _scount;
//	}
//private:
//	static int _scount;
//};
//
//int A::_scount = 0;
//
//
//int main()
//{
//	cout << A::GetACount() << endl;
//	A a1, a2;
//	A a3(a1);
//	cout << A::GetACount() << endl;
//	cout << a1.GetACount() << endl;
//}


//class Time
//{
//	friend class Date;
//
//public:
//	Time(int hour = 1, int minute=1, int second=1)
//		:_hour(hour)
//		,_minute(minute)
//		,_second(second)
//	{}
//private:
//	int _hour;
//	int _minute;
//	int _second;
//};
//
//class Date
//{
//public:
//	Date(int year = 1, int month = 1, int day=1)
//		:_year(year)
//		,_month(month)
//		,_day(day)
//	{}
//
//	void GetTime(int hour, int minute, int second)
//	{
//		_t._hour = hour;
//		_t._minute = minute;
//		_t._second = second;
//	}
//
//	void Print()
//	{
//		cout << _year << " " << _month << " " << _day << " " << _t._hour << " " << _t._minute << " " << _t._second << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _day;
//
//	Time _t;
//};
//
//int main()
//{
//	Date d1(2024, 8, 17);
//
//	
//	d1.GetTime(7,23,54);
//	d1.Print();
//	return 0;
//}

class A
{
public:
	class B 
	{
	public:
		void ffo(const A& a)
		{
			cout << _k << endl;
			cout << a._h << endl;
		}
	private:
		int _n=1;
	};

private:
	static int _k;
	int _h=1;
};

int A::_k = 1;

int main()
{
	cout << sizeof(class A) << endl;

	A aa;
	A::B bb;

	bb.ffo(aa);

	return 0;
}